001 /*
002 * Created by IntelliJ IDEA.
003 * User: Wei Wang
004 * Date: 2002-8-29
005 * Time: 13:31:24
006 * To change template for new class use
007 * Code Style | Class Templates options (Tools | IDE Options).
008 */
009 package EVolve.util.predefinedutils;
010
011 import EVolve.*;
012 import EVolve.exceptions.EVolveException;
013 import EVolve.util.predefinedutils.PredefinedVisualization;
014 import EVolve.visualization.*;
015 import EVolve.visualization.VizFactory.VisualizationFactory;
016
017 import java.util.ArrayList;
018 import java.util.HashMap;
019
020 public class PredefinedVisualizationRunner {
021 private ArrayList predefinedVizCollection;
022 private int selected;
023
024 public PredefinedVisualizationRunner() {
025 predefinedVizCollection = new ArrayList();
026 selected = 0;
027 }
028
029 public int getSelected() {
030 return this.selected;
031 }
032
033 public void setSelected(int selected) {
034 this.selected = selected;
035 }
036
037 public int getPredefinedVisualizationNumber() {
038 return predefinedVizCollection.size();
039 }
040
041 public String getConfigureName(int index) {
042 return ((PredefinedVisualization)predefinedVizCollection.get(index)).getName();
043 }
044
045 public PredefinedVisualization getSelectedPredefinedViz() {
046 return predefinedVizCollection.size() == 0 ? null : (PredefinedVisualization)predefinedVizCollection.get(selected);
047 }
048
049 public PredefinedVisualization getPredefinedVizByIndex(int index) {
050 return (PredefinedVisualization)predefinedVizCollection.get(index);
051 }
052
053 public void addPredefinedVisualization(String filename, String configname) {
054 for (int i=0; i<predefinedVizCollection.size(); i++) {
055 PredefinedVisualization viz = (PredefinedVisualization)predefinedVizCollection.get(i);
056 if (viz.getFilename().equals(filename)) {
057 viz.setTranslated(false);
058 viz.setFilename(filename);
059 viz.setName(configname);
060 return;
061 }
062 }
063 PredefinedVisualization viz = new PredefinedVisualization(filename,configname);
064 predefinedVizCollection.add(predefinedVizCollection.size(),viz);
065 }
066
067 public boolean containsConfigure(String name) {
068
069 for (int i=0; i< predefinedVizCollection.size(); i++) {
070 if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) return true;
071 }
072
073 return false;
074 }
075
076 public int getIdFromName(String name) {
077 int retValue = -1;
078 for (int i=0; i< predefinedVizCollection.size(); i++) {
079 if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) retValue = i;
080 }
081
082 return retValue;
083 }
084
085 public void runPredefinedVisualization() {
086 Visualization visual = null;
087 PredefinedVisualization predefinedViz = getSelectedPredefinedViz();
088
089 if (predefinedViz == null) return;
090 try {
091 if (!predefinedViz.isTranslated())
092 predefinedViz.translateVizInfo();
093
094 } catch (EVolveException e) {
095 Scene.showErrorMessage(e.getMessage());
096 return;
097 }
098
099 Scene.getVisualizationManager().cleanup();
100 while (predefinedViz.hasNext()) {
101 VizInfo viz = predefinedViz.getNextVizInfo();
102 HashMap mapConfig = new HashMap();
103 mapConfig.put("Factory",viz.getFactory());
104 mapConfig.put("Subject",viz.getSubject());
105 mapConfig.put("Dimension",viz.getDimension());
106 mapConfig.put("Predictor",viz.getPredictor());
107 mapConfig.put("Interval",new Integer(viz.getInterval()));
108 mapConfig.put("BeginCall",new Long(viz.getBeginCall()));
109 mapConfig.put("EndCall",new Long(viz.getEndCall()));
110 mapConfig.put("Match",new Float(viz.getMatch()));
111 mapConfig.put("Options", viz.getOptions());
112
113 visual = Scene.getVisualizationManager().newVisualization(((VisualizationFactory)mapConfig.get("Factory")).getName());
114
115 visual.getWindow().setBounds(viz.getWindowPosition());
116 visual.setName(viz.getTitle());
117 visual.autoUpdateConfiguration(mapConfig);
118 }
119 Scene.getVisualizationManager().addAllVisualizations();
120 Scene.getFilter().updateSelection();
121 Scene.getVisualizationManager().prepareListToBeVisualized();
122 Scene.visualize();
123 predefinedViz.reset();
124 }
125 }